package cn.iocoder.yudao.module.crossborder.risk.enums;

import cn.iocoder.yudao.framework.common.exception.ErrorCode;

/**
 * CrossBorder Risk 错误码枚举类
 *
 * crossborder risk 系统，使用 1-028-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== 风险评估相关 1-028-001-000 ============
    ErrorCode RISK_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_028_001_000, "风险评估记录不存在");
    ErrorCode RISK_ASSESSMENT_FAILED = new ErrorCode(1_028_001_001, "风险评估失败");
    ErrorCode RISK_LEVEL_INVALID = new ErrorCode(1_028_001_002, "风险等级无效");
    ErrorCode RISK_SCORE_INVALID = new ErrorCode(1_028_001_003, "风险评分无效");

    // ========== 反欺诈相关 1-028-002-000 ============
    ErrorCode FRAUD_DETECTION_FAILED = new ErrorCode(1_028_002_000, "欺诈检测失败");
    ErrorCode FRAUD_RULE_NOT_EXISTS = new ErrorCode(1_028_002_001, "欺诈规则不存在");
    ErrorCode FRAUD_ALERT_NOT_EXISTS = new ErrorCode(1_028_002_002, "欺诈警报不存在");
    ErrorCode FRAUD_BLACKLIST_EXISTS = new ErrorCode(1_028_002_003, "已在黑名单中");

    // ========== 合规检查相关 1-028-003-000 ============
    ErrorCode COMPLIANCE_CHECK_FAILED = new ErrorCode(1_028_003_000, "合规检查失败");
    ErrorCode COMPLIANCE_RULE_NOT_EXISTS = new ErrorCode(1_028_003_001, "合规规则不存在");
    ErrorCode COMPLIANCE_VIOLATION = new ErrorCode(1_028_003_002, "合规违规");
    ErrorCode COMPLIANCE_DOCUMENT_INVALID = new ErrorCode(1_028_003_003, "合规文档无效");

    // ========== 风险监控相关 1-028-004-000 ============
    ErrorCode RISK_MONITOR_NOT_EXISTS = new ErrorCode(1_028_004_000, "风险监控记录不存在");
    ErrorCode RISK_THRESHOLD_EXCEEDED = new ErrorCode(1_028_004_001, "风险阈值超限");
    ErrorCode RISK_ALERT_NOT_EXISTS = new ErrorCode(1_028_004_002, "风险警报不存在");
    ErrorCode RISK_MONITOR_DISABLED = new ErrorCode(1_028_004_003, "风险监控已禁用");

    // ========== 风险控制相关 1-028-005-000 ============
    ErrorCode RISK_CONTROL_NOT_EXISTS = new ErrorCode(1_028_005_000, "风险控制记录不存在");
    ErrorCode RISK_CONTROL_ACTION_FAILED = new ErrorCode(1_028_005_001, "风险控制动作执行失败");
    ErrorCode RISK_CONTROL_RULE_INVALID = new ErrorCode(1_028_005_002, "风险控制规则无效");
    ErrorCode RISK_CONTROL_DISABLED = new ErrorCode(1_028_005_003, "风险控制已禁用");

    // ========== 黑白名单相关 1-028-006-000 ============
    ErrorCode BLACKLIST_NOT_EXISTS = new ErrorCode(1_028_006_000, "黑名单记录不存在");
    ErrorCode BLACKLIST_ALREADY_EXISTS = new ErrorCode(1_028_006_001, "黑名单记录已存在");
    ErrorCode WHITELIST_NOT_EXISTS = new ErrorCode(1_028_006_002, "白名单记录不存在");
    ErrorCode WHITELIST_ALREADY_EXISTS = new ErrorCode(1_028_006_003, "白名单记录已存在");

}
